<

Null 可能 CupertinoThemeData.brightness

まとめ

CupertinoThemeData.brightnessは null 可能になりました。

コンテクスト

CupertinoThemeData.brightness今では慣れています オーバーライドMediaQuery.platformBrightnessクパチーノ ウィジェット用。 この変更が行われる前は、CupertinoThemeData.brightness返されたゲッターBrightness.lightnull に設定されたとき。

変更内容の説明

以前CupertinoThemeData.brightnessゲッターとして実装されました。

Brightness get brightness => _brightness ?? Brightness.light;
final Brightness _brightness;

これは保存されたプロパティになりました。

final Brightness brightness;

移行ガイド

一般的CupertinoThemeData.brightnessFlutter フレームワークの外ではほとんど役に立ちません。 Cupertino ウィジェットの明るさを取得するには、 今使ってくださいCupertinoTheme.brightnessOfその代わり。

この変更により、オーバーライドできるようになりました。CupertinoThemeData.brightnessCupertinoThemeData明るさのオーバーライドを変更するサブクラス。例えば:

class AlwaysDarkCupertinoThemeData extends CupertinoThemeData {
  Brightness brightness => Brightness.dark;
}

ときCupertinoTheme上記を使用しますCupertinoThemeData、 クパチーノのすべての子孫に対してダーク モードが有効になっています この影響を受けるのはCupertinoTheme

タイムライン

リリースされたバージョン: 1.16.3
安定版リリース: 1.17

参考文献

設計ドキュメント:

API ドキュメント:

  • CupertinoThemeData.brightness

関連する問題:

  • 問題 47255

関連する PR:

  • 素材をみましょうThemeData明るさを指定する場合cupertinoOverrideTheme.brightness無効である